From 11ca120a443c14f4721defe557275e27264e469b Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Tue, 7 Mar 2006 16:18:25 +0000 Subject: [PATCH] depend on glib-2.10.1. Tue Mar 7 17:16:34 2006 Tim Janik * configure.in: depend on glib-2.10.1. * gtk/gtkobject.c: fixed up messing with non-GtkObject floating flags. this requires glib-2.10.1. --- ChangeLog | 7 +++++++ ChangeLog.pre-2-10 | 7 +++++++ configure.in | 2 +- gtk/gtkobject.c | 8 ++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 44cfdcfa49..4fe20bebbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Tue Mar 7 17:16:34 2006 Tim Janik + + * configure.in: depend on glib-2.10.1. + + * gtk/gtkobject.c: fixed up messing with non-GtkObject floating flags. + this requires glib-2.10.1. + 2006-03-07 Michael Natterer Add infrastructure for copy/paste and DND of rich text for diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 44cfdcfa49..4fe20bebbf 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,10 @@ +Tue Mar 7 17:16:34 2006 Tim Janik + + * configure.in: depend on glib-2.10.1. + + * gtk/gtkobject.c: fixed up messing with non-GtkObject floating flags. + this requires glib-2.10.1. + 2006-03-07 Michael Natterer Add infrastructure for copy/paste and DND of rich text for diff --git a/configure.in b/configure.in index d1402a5699..27faaff9fe 100644 --- a/configure.in +++ b/configure.in @@ -31,7 +31,7 @@ m4_define([gtk_api_version], [2.0]) m4_define([gtk_binary_version], [2.4.0]) # required versions of other packages -m4_define([glib_required_version], [2.9.2]) +m4_define([glib_required_version], [2.10.1]) m4_define([pango_required_version], [1.9.0]) m4_define([atk_required_version], [1.0.1]) m4_define([cairo_required_version], [0.9.2]) diff --git a/gtk/gtkobject.c b/gtk/gtkobject.c index 287aefb556..412b51c090 100644 --- a/gtk/gtkobject.c +++ b/gtk/gtkobject.c @@ -314,11 +314,15 @@ gtk_object_add_arg_type (const gchar *arg_name, g_object_class_install_property (oclass, arg_id, pspec); } +static guint (*gobject_floating_flag_handler) (GtkObject*,gint) = NULL; + static guint gtk_object_floating_flag_handler (GtkObject *object, gint job) { /* FIXME: remove this whole thing once GTK+ breaks ABI */ + if (!GTK_IS_OBJECT (object)) + return gobject_floating_flag_handler (object, job); switch (job) { guint32 oldvalue; @@ -341,9 +345,13 @@ static void gtk_object_class_init (GtkObjectClass *class) { GObjectClass *gobject_class = G_OBJECT_CLASS (class); + gboolean is_glib_2_10_1; parent_class = g_type_class_ref (G_TYPE_OBJECT); + is_glib_2_10_1 = g_object_compat_control (3, &gobject_floating_flag_handler); + if (!is_glib_2_10_1) + g_error ("this version of Gtk+ requires GLib-2.10.1"); g_object_compat_control (2, gtk_object_floating_flag_handler); gobject_class->set_property = gtk_object_set_property; -- 2.30.2